<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        var utils = {
            formatNumber(n) {
                n = n.toString()
                return n[1] ? n : '0' + n
            },
            formatTimePrice(date) {
                var date = new Date(date);
                const year = date.getFullYear()
                const month = date.getMonth() + 1
                const day = date.getDate()
                const hour = date.getHours()
                const minute = date.getMinutes()
                const second = date.getSeconds()

                return [year, month, day].map(this.formatNumber).join('-')
            }
        }
        var self = {
            openPricec: []
        }

        function onload1() {
            var that = self;
            that.msId = '5f8935b653bde64e1e8aa918';
            // 获取本月时间
            getprice()
        }

        onload1()

        function onload2() {
            var nowTime = new Date();
            var year = nowTime.getFullYear();
            var month = nowTime.getMonth();
            var time = [];
            var timeArray = {};
            // 循环6个月的数据
            for (var i = 0; i < 6; i++) {
                year = month + 1 > 12 ? year + 1 : year;
                month = month + 1 > 12 ? 1 : month + 1;
                // 每个月的数据
                time = dataInit(year, month);
                // 接收数据
                timeArray[year + '年' + (month < 10 ? '0' + month : month) + '月'] = time;
            };
        }
        // getprice()
        function dataInit(setYear, setMonth) {
            console.log(setYear, setMonth)
            var now_today = utils.formatTimePrice(new Date());
            // 当前时间/传入的时间
            var now = setYear ? new Date(setYear, setMonth) : new Date();
            var year = setYear || now.getFullYear();
            // 传入的月份已经加1
            var month = setMonth || now.getMonth() + 1;
            // 构建某日数据时使用
            var obj = {};
            // 需要遍历的日历数组数据
            var dateArr = [];
            // 需要的格子数，为当前星期数+当月天数
            var arrLen = 0;
            // 该月加1的数值，如果大于11，则为下年，月份重置为1 
            // 目标月1号对应的星期
            var startWeek = new Date(year + '-' + (month < 10 ? '0' + month : month) + '-01').getDay();
            //获取目标月有多少天
            var dayNums = new Date(year, month < 10 ? '0' + month : month, 0).getDate();
            var num = 0;
            var that = self
            // 计算当月需要的格子数 = 当前星期数+当月天数s
            arrLen = startWeek * 1 + dayNums * 1;
            for (var i = 0; i < arrLen; i++) {
                if (i >= startWeek) {
                    num = i - startWeek + 1;
                    var month_day = year + '-' + (month < 10 ? '0' + month : month) + '-' + (num < 10 ? '0' + num : num);
                    obj = {
                        today: year + '-' + (month < 10 ? '0' + month : month) + '-' + (num < 10 ? '0' + num : num),
                        dateNum: now_today === month_day ? '今天' : num,
                        // price: (new Date(now_today) <= new Date(month_day)) ?'￥234':'',
                        // canclick: (new Date(now_today) <= new Date(month_day)) ? true : false,
                        // price: (new Date(now_today) <= new Date(month_day)) ? num  == 20 ? '￥250' : '￥234': '' ,
                        price: self.openPricec.filter(function (item, i) {
                            return i == num;
                        })[0],
                        // canclick: (new Date(now_today) <= new Date(month_day)) ? num % 3 == 0? 1 : 2 : 0, // 0表示今天之前的日期  1表示无房  2表示有房可点
                        canclick: (new Date(now_today) <= new Date(month_day)) ? num == 0 ? 1 : 2 : 0, // 0表示今天之前的日期  1表示无房  2表示有房可点
                        text_out: '',
                        wufang: num == 0 ? (new Date(now_today) <= new Date(month_day)) ? '无房' : '' : ''
                    }
                } else {
                    // 填补空缺
                    // 例如2018-12月第一天是星期6，则需要补6个空格
                    obj = {};
                }
                dateArr[i] = obj;
            };
            // let newArr = [];//去除空对象
            // for (let j in dateArr) {
            //     if (JSON.stringify(dateArr[j]) != "{}") newArr.push(dateArr[j])
            // };
            // console.log(newArr)
            // dateArr = newArr
            console.log(dateArr)
            return dateArr;
        }

        function getprice() {
            setTimeout(() => {
                self.openPricec = ["无房", "无房", "￥99", "￥1.15", "￥1", "￥1", "￥1", "￥1", "￥1", "￥1.15", "￥1.15", "￥1", "￥1", "￥1", "￥1", "￥1", "￥1.15", "￥1.15", "￥1", "￥1", "￥1", "￥1", "￥1", "￥1.15", "￥1.15", "￥1", "￥1", "￥1", "￥1", "￥1", "￥1.15", "￥1.15", "￥1", "￥1", "￥1", "￥1", "￥1", "￥1.15", "￥1.15", "￥1", "￥1", "￥1", "￥1", "￥1", "￥1.15", "￥1.15", "￥1", "￥1", "￥1", "￥1", "￥1", "￥1.15", "￥1.15", "￥1", "￥1", "￥1", "￥1", "￥1", "￥1.15", "￥1.15", "￥1", "￥1", "￥1", "￥1", "￥1", "￥1.15", "￥1.15", "￥1", "￥1", "￥1", "￥1", "￥99", "￥99", "￥1.15", "￥1", "￥1", "￥1", "￥1", "￥1", "￥1.15", "￥1.15", "￥1", "￥1", "￥1", "￥1", "￥1", "￥1.15", "￥1.15", "￥1", "￥1", "￥1", "￥1", "￥1", "￥1.15", "￥1.15", "￥1", "￥1", "￥1", "￥1", "￥1", "￥1.15", "￥1.15", "￥1", "￥1", "￥1", "￥1", "￥1", "￥1.15", "￥1.15", "￥1", "￥1", "￥1", "￥1", "￥1", "￥1.15", "￥1.15", "￥1", "￥1", "￥1", "￥1", "￥1", "￥1.15", "￥1.15", "￥1", "￥1", "￥1", "￥1", "￥1", "￥1.15", "￥1.15", "￥1", "￥1", "￥1", "￥1", "￥1", "￥1.15", "￥1.15", "￥1", "￥1", "￥1", "￥1", "￥1", "￥1.15", "￥1.15", "￥1", "￥1", "￥1", "￥1", "￥1", "￥1.15", "￥1.15", "￥1", "￥1", "￥1", "￥1", "￥1", "￥1.15", "￥1.15", "￥1", "￥1", "￥1", "￥1", "￥1", "￥1.15", "￥1.15", "￥1", "￥1", "￥1", "￥1", "￥1", "￥1.15", "￥1.15", "￥1", "￥1", "￥1", "￥1", "￥1", "￥1.15", "￥1.15", "￥1", "￥1", "￥1", "￥1", "￥1", "￥1.15", "￥1.15", "￥1", "￥1", "￥1", "￥1", "￥1", "￥1.15"]
                console.log(self.openPricec)
                onload2()
            }, 200);
        }
    </script>
</body>

</html>